package com.iemes.controller.inventory;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.iemes.controller.index.BaseController;
import com.iemes.entity.OrderFormMap;
import com.iemes.entity.inventory.OutboundFormMap;
import com.iemes.mapper.inventory.OutBoundMapper;
import com.iemes.util.Common;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.inject.Inject;
import java.util.List;

@Controller
@RequestMapping("/outbound/")
public class OutBoundController extends BaseController {
    @Inject
    private OutBoundMapper outBoundMapper;

    @RequestMapping("obIndex")
    public String index(Model model){
        String[] btnArray = new String[]{"<button type=\"button\" id=\"addAccount\" class=\"btn btn-primary marR10\">新增</button>", "<button type=\"button\" id=\"editAccount\" class=\"btn btn-info marR10\">编辑</button>", "<button type=\"button\" id=\"test\" class=\"btn btn-danger marR10\">删除</button>, <button type=\"button\" id=\"delAccount\" class=\"btn btn-danger marR10\">提交入库</button>"};
        model.addAttribute("res", findByRes());
        model.addAttribute("btn", btnArray);
        return Common.BACKGROUND_PATH + "/inventory/outbound/outboundIndex";
    }

    @ResponseBody
    @RequestMapping("getObPage")
    public PageInfo getWorkObPage(){
        PageHelper.startPage(1, 10);
        List<OutboundFormMap> obPage = outBoundMapper.getObPage();
        PageInfo pageInfo = new PageInfo<>(obPage);
        return pageInfo;
    }

    //打开新增客户页面
    @RequestMapping("openObUI")
    public String openOrderManagementUI(Model model){
        model.addAttribute("emp",getEmp());
        return Common.BACKGROUND_PATH + "/inventory/outbound/addOb";
    }

    @ResponseBody
    @RequestMapping("addOb")
    //    @SystemLog(module="系统管理",methods="客户管理-新增客户")//凡需要处理业务逻辑的.都需要记录操作日志
    @Transactional(readOnly=false)//需要事务操作必须加入此注解
    public String addOb(){
        OutboundFormMap outboundFormMap = getFormMap(OutboundFormMap.class);
        outboundFormMap.set("wOutId",outBoundMapper.getObPage().size()+1);
        try {
            outBoundMapper.addEntity(outboundFormMap);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "success";
    }
}
